package com.ysstech.reportworld.service;

import com.ysstech.common.entity.PageBean;
import com.ysstech.reportworld.entity.TableDetail;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author lishuangliang
 * @since 2022-04-27
 */
public interface TableDetailService extends IService<TableDetail> {


    /**
     * 获取所有表字段信息
     *
     * @param tableDetail
     * @param pageBean
     * @return
     * @throws Exception
     */
    public PageBean<TableDetail> queryAllDataTableDetail(TableDetail tableDetail, PageBean pageBean) throws Exception;

    /**
     * 通过表结构id查询表结构明细信息
     *
     * @param tableDetail
     * @return
     * @throws Exception
     */
    public List<TableDetail> queryTableDetailListByTableId(TableDetail tableDetail) throws Exception;

    /**
     * 新增报表字段信息
     *
     * @param tableDetail
     * @throws Exception
     */
    public void addReportTableDetail(TableDetail tableDetail) throws Exception;

    /**
     * 修改报表字段信息
     *
     * @param tableDetail
     * @throws Exception
     */
    public void updateReportTableDetail(TableDetail tableDetail) throws Exception;

    /**
     * 删除报表字段信息
     *
     * @param id
     * @throws Exception
     */
    public void delReportTableDetail(String id) throws Exception;

    /**
     * 获取表字段信息的时候默认值的处理
     *
     * @param defaultValue
     * @return
     */
    public String getColumnDefault(String defaultValue);

    /**
     * 批量修改表字段信息
     *
     * @param tableDetail
     * @param ids
     */
    public void batchUpdateTableInfoDetail(TableDetail tableDetail, String ids) throws Exception;
}
